ActionController::Routing::Routes.draw do |map|
  map.home '/', :controller => 'category', :action => 'index'
  map.login '/login', :controller => 'sessions', :action => 'new'
  map.logout '/logout', :controller => 'sessions', :action => 'destroy'
  map.register '/register', :controller => 'users', :action => 'new'
  map.search '/search', :controller => 'topics', :action => 'search'

  map.resources :category
  map.resources :sessions
  map.resources :tags
  map.resources :users,
                :member => {:topics => :get, :posts => :get}

  map.resources :forums do |forum|
    forum.resources :topics,
                    :name_prefix => 'forum_',
                    :collection => {:viewed => :get} do |topic|
      topic.resources :posts,
                      :name_prefix => 'forum_topic_',
                      :collection => {:unreads => :get}
    end
  end
    
  # The priority is based upon order of creation: first created -> highest priority.
  
  # Sample of regular route:
  # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
  # Keep in mind you can assign values other than :controller and :action

  # Sample of named route:
  # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
  # This route can be invoked with purchase_url(:id => product.id)

  # You can have the root of your site routed by hooking up '' 
  # -- just remember to delete public/index.html.
  # map.connect '', :controller => "welcome"

  # Allow downloading Web Service WSDL as a file with an extension
  # instead of a file named 'wsdl'
  # map.connect ':controller/service.wsdl', :action => 'wsdl'

  # Install the default route as the lowest priority.
  # map.connect ':controller/:action/:id.:format'
  # map.connect ':controller/:action/:id'
end
